○시스템은 여러 개의 실행 모듈 또는 컴포넌트로 구성되며 각 컴포넌트는 독립된 기능을 제공한다. ○시스템의 서비스는 컴포넌트들의 기능을 조합하여 제공된다. ○컴포넌트가 상호 작용하는 데이터베이스는 다른 컴포넌트의 데이터베이스와 독립적이다. ○각 컴포넌트의 실패는 격리되며 일부가 실패해도 전체 시스템이 중단되지 않는다. ○각 컴포넌트를 독립적으로 개발하고 배포할 수 있으므로 지속적 통합과 지속적 배포가 가능하다.
○JUnit ○Mockito ○JMeter
ㄱ.기본적인 프로젝트 관리 프로세스가 정의되어 비용, 일정, 기능 등을 추적할 수 있다. ㄴ.새로운 프로젝트에 대한 계획과 관리가 이전의 성공한 프로젝트에 근거하여 이루어진다. ㄷ.조직의 소프트웨어 프로세스를 전담하는 소프트웨어공학 프로세스 그룹이 있다. ㄹ.프로세스 개선을 지속적으로 추진하여 프로세스 능력 수준을 높인다.
○온라인/오프라인 도움말을 제공하지 않는다. ○시스템이 제공하는 기능을 메뉴명으로 이해하기 어렵다. ○모든 웹 페이지에서 홈페이지로 바로 가는 ‘홈 버튼’이 제공되지 않아 이전 페이지로 이동하는 ‘뒤로 가기 버튼’을 이용하여 여러 단계를 거쳐 홈페이지로 갈 수 밖에 없다.
명세두 정수를 입력 받아 두 정수 중 적어도 하나가 음수이면 두 정수의 곱을 반환하고 그렇지 않다면 두 정수의 합을 반환한다.코드int foo(int v1, int v2) { int v3 = v1*v2; if (v1 >= 0 || v2 >= 0) v3 = v1+v2; return v3; }
병원 진료 시스템 사용자로 환자와 보호자가 있다. 환자는 진료예약이나 진료예약취소를 모두 할 수 있는 반면에 보호자는 진료예약만이 가능하다. 또한 진료예약이나 진료예약취소를 하기 위해서는 반드시 로그인 절차가 필요하다.
Req-01: 윈도우 환경에서 동작하는 시스템을 리눅스 환경에서도 동작하도록 한다. Req-02: SMS 문자 발송 기능의 오류를 수정한다. Req-03: 논리 흐름을 보다 이해하기 쉽도록 코드 구조를 개선한다.
ㄱ.형상 항목과 형상 식별자 선정 ㄴ.변경 요청사항에 대한 심사 및 변경 실시 ㄷ.변경 내용을 확인하고 베이스라인 수립 ㄹ.형상 관리 계획서대로 형상관리가 진행되고 있는지 검증
public void myMethod(int n) { if (isEven(n)) System.out.println("Even"); else System.out.println("Odd"); } private boolean isEven(int number) { return number % 2 == 0; }▼▼▼public void myMethod(int n) { if (n % 2 == 0) System.out.println("Even"); else System.out.println("Odd"); }
void caller(int x, int y) { int maxVal = max(x, y); printf("%d", maxVal); } int max(int v1, int v2) { if (v1 > v2) return v1; else return v2; }
명세 입력 점수가 70보다 크거나 같으면 통과이고 그렇지 않으면 통과하지 못한다. 점수는 0이상 100이하 범위를 갖는 정수형이다. 프로그램의 반환 값이 0이면 통과, 1이면 통과하지 못함, -1이면 입력이 범위를 벗어났음을 나타낸다. 코드int passOrNot(int score) { if ((score > 100) || (score < 0)) return -1; if (score > 70) return 0; else return 1; }
class MyEmployeeService extends EmployeeService{ private EmployeeDao employeeDao; public void setEmployeeDao(EmployeeDao dao){ this.employeeDao = dao; } public Employee getEmployee(String id){ return employeeDao.get(id); } public void addEmployee(Employee emp){ employeeDao.insert(emp); } } class EmployeeService { ... } class EmployeeDao { ... } class Employee { ... }